package br.uniriotec.pssgbd.gerencia.model.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import br.uniriotec.pssgbd.gerencia.model.dao.BasePostgresDAO;
import br.uniriotec.pssgbd.gerencia.model.entidade.Cidade;

public class CidadePostgresDAO extends BasePostgresDAO<Cidade> {

	@Override
	public void alterar(Cidade entidade) throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public Cidade consultarPorId(Long id) throws Exception {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void excluir(Cidade entidade) throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void incluir(Cidade entidade) throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public List<Cidade> listar() throws Exception {
		Connection connection = criaConexao(false);
		String sql = "select * from cidade";
		PreparedStatement stmt = null;
		ResultSet rs = null;
		Cidade cidade = null;
		List<Cidade> listaCidade = new ArrayList<Cidade>();
		try {
			stmt = connection.prepareStatement(sql);
			rs = stmt.executeQuery();
			while (rs.next()) {
				cidade = new Cidade();
				cidade.setIdCidade(rs.getInt("idcidade"));
				cidade.setNome(rs.getString("nome"));
				cidade.setIdEstado(rs.getInt("idestado"));
				
				listaCidade.add(cidade);
				
			}
		} catch (SQLException e) {
			throw e;
		} finally {
			try {
				stmt.close();
				rs.close();
				this.fechaConexao();
			} catch (SQLException e) {
				throw e;
			}

		}
		return listaCidade;
	}



}
